www.gusucode.com > XerCMS 携云PHP企业建站程序 v2015PHP源码程序 > XerCMS 携云PHP企业建站程序 v2015/XerCMS_v20150724/XerCMS_v20150724/XerCMS/Services/admin/column.php
<?php /** * @name XERCMS * @author Arno <XerCMS@163.com> [QQ:1328013] * @version 1.0.0 * @link http://www.XerCMS.com */ !defined('XERCMS') && exit('Access Denied'); class Service_admin_column extends admin { function xercms() { $this->showcolumn(); global $columns; X::$G['action'] = 'showcolumn'; $columns = is_array($columns) ? $columns : array(); include_once($this->tpl('column.htm')); } function updatecolumn() { $id = int1(g('id')); $column = p('column'); if(!valid('column')->checkBasic($column)) { $this->tips(valid('column')->getError()); } ini('archives/column/'.$id,$column); $columnsetting = ini('archives/column/'.$id); unset($columnsetting['id'],$columnsetting['modeltable'],$columnsetting['by'],$columnsetting['order'],$columnsetting['number'],$columnsetting['audit'],$columnsetting['access'],$columnsetting['credits']); $columnsetting['template'] = jsonSql($columnsetting['template']); DB::update('xercms_column',$columnsetting,'id = '.$id); $column['admin'] = explode(',',$column['admin']); ini('archives/column/'.$id,$column); CACHE::template();CACHE::column($id); $this->tips(11); } function editcolumn() { $id = int1(g('id')); $columnsetting = ini('archives/column/'.$id); $columnsetting['admin'] = implode(',',(isset($columnsetting['admin']) ? $columnsetting['admin'] : array())); include($this->tpl('column.htm')); } function updateaccess() { $id = int1(g('id')); $access = p('forum'); ini('archives/column/'.$id,$access); $columnsetting = ini('archives/column/'.$id); DB::update('xercms_column',array('extra'=> jsonSql(array('access'=>$access ))),'id = '.$id); $this->tips(11); } function editaccess() { $id = int1(g('id')); $columnsetting = ini('archives/column/'.$id); //$columnsetting['access'] = $columnsetting['thread']; $group = ini('member/groups'); include($this->tpl('column.htm')); } function del() { $id = g('id'); $sum = rs('column')->count(); if($sum <= 1) { $this->tips('column_exists_one'); } $son = rs('column')->count($id); if($son <= 0) { if(file_exists(INC.'Data/archives/column/'.$id.'.php')) unlink(INC.'Data/archives/column/'.$id.'.php'); $column = DB::result('SELECT * FROM xercms_column WHERE id = \''.$id.'\''); if($column['parent'] > 0) { DB::query('UPDATE xercms_column SET son = son - 1 WHERE son > 1 AND id = \''.$column['parent'].'\''); $parentSon = DB::result_first('SELECT count(*) FROM xercms_column WHERE parent = \''.$column['parent'].'\''); $parent = ini('archives/column/'.$column['parent']); $parent['son'] = $parentSon; ini('archives/column/'.$column['parent'],$parent); } rs('column')->del($id); } else $this->tips('column_exists_son'); $this->updatecolumnmodel(); CACHE::template(); $this->tips(11); } function insertcolumn() { $column = p('column'); $columnsetting = ini('archives/column/'.$column['parent']); $columnsetting['extra'] = jsonSql(array('access'=>$columnsetting['access'])); unset($columnsetting['id'],$columnsetting['modeltable'],$columnsetting['by'],$columnsetting['order'],$columnsetting['number'],$columnsetting['audit'],$columnsetting['access'],$columnsetting['credits']); $columnsetting['name'] = $column['name']; $columnsetting['parent'] = $column['parent']; $columnsetting['admin'] = empty($columnsetting['admin']) ? '' : implode(',',$columnsetting['admin']); $column['model'] = explode('#',$column['model']); if($column['parent'] == 0) { $columnsetting['model'] = $column['model'][0]; } $columnsetting['template'] = jsonSql($columnsetting['template']); $id = DB::insert('xercms_column',$columnsetting); $columnsetting = ini('archives/column/'.$column['parent']); global $XERCMS; if($column['parent'] == 0) { $columnsetting['template']['index'] = file_exists(XERCMS.'Template/'.$XERCMS['CONFIG']['tplname'].'/'.$XERCMS['CONFIG']['tpldir'].'/archives/'.$column['model'][1].'_index.htm') ? $column['model'][1].'_index.htm' : $columnsetting['template']['index']; $columnsetting['template']['list'] = file_exists(XERCMS.'Template/'.$XERCMS['CONFIG']['tplname'].'/'.$XERCMS['CONFIG']['tpldir'].'/archives/'.$column['model'][1].'_list.htm') ? $column['model'][1].'_list.htm' : $columnsetting['template']['list']; $columnsetting['template']['detail'] = file_exists(XERCMS.'Template/'.$XERCMS['CONFIG']['tplname'].'/'.$XERCMS['CONFIG']['tpldir'].'/archives/'.$column['model'][1].'_detail.htm') ? $column['model'][1].'_detail.htm' : $columnsetting['template']['detail']; $columnsetting['template']['show'] = file_exists(XERCMS.'Template/'.$XERCMS['CONFIG']['tplname'].'/'.$XERCMS['CONFIG']['tpldir'].'/archives/'.$column['model'][1].'_show.htm') ? $column['model'][1].'_show.htm' : $columnsetting['template']['show']; $columnsetting['modeltable'] = $column['model'][1]; } $columnsetting['id'] = $id;$columnsetting['name'] = $column['name']; if($column['parent'] == 0) { $columnsetting['model'] = $column['model'][0]; } if($column['parent'] > 0) { DB::query('UPDATE xercms_column SET son = son + 1 WHERE id = \''.$column['parent'].'\''); $parentSon = DB::result_first('SELECT count(*) FROM xercms_column WHERE parent = \''.$column['parent'].'\''); $parent = ini('archives/column/'.$column['parent']); $parent['son'] = $parentSon; ini('archives/column/'.$column['parent'],$parent); } ini('archives/column/'.$id,$columnsetting); $this->updatecolumnmodel(); if(isset($_POST['nav']) && $_POST['nav'] == 1) { $nav = array('name'=>$column['name'],'url'=>X::$G['urlpath'].'index.php?m=archives&e=column&id='.$id,'extra'=>jsonSql(array('column'=>$id)),'parent'=>1); DB::insert('xercms_nav',$nav); } CACHE::template();CACHE::column($id); $this->tips(11,'?s=admin&e=column'); } function editcolumnname() { $column = p('column'); foreach($column as $k=>$v) { if(!empty($v['name'])) { ini('archives/column/'.$k,'name',$v['name']); DB::update('xercms_column',array('name'=>$v['name']),'id = '.$k); CACHE::column($k); } } $this->updatecolumnmodel(); CACHE::template(); $this->tips(11,'?s=admin&e=column'); } function showcolumn($top = 0,$layer = 0) { global $columns; $res = DB::query('select c.*,m.name as title,m.id as mid from xercms_column c,xercms_model m where m.id = c.model and c.parent = \''.$top.'\'',0,true); while($data = DB::fetch($res)) { $data['layer'] = $layer; $columns[] = $data; $this->showcolumn($data['id'],($layer + 1)); } } function updatecolumnmodel() { global $columnmodel; $models = DB::fetch_all('SELECT id,`table` FROM xercms_model'); foreach($models as $k=>$v) { $columnmodel = array(); $res = DB::query('select id,name from xercms_column where display = 1 AND model = '.$v['id'].' AND parent = \'0\''); while($data = DB::fetch($res)) { //$data['layer'] = $layer; $columnmodel[$data['id']] = array('name'=>$data['name']);//$data; $this->columnmodel($v['id'],$data['id'],($layer + 1)); } //ECHO '/'.'archives/mc/'.$v['table'].'/<BR>';exit; Data::build('archives/mc/'.$v['table'],$columnmodel); } } function columnmodel($id,$top,$layer) { global $columnmodel; $res = DB::query('select * from xercms_column where display = 1 AND model = '.$id.' AND parent = \''.$top.'\''); while($data = DB::fetch($res)) { $columnmodel[$data['id']] = array('name'=>str_pad('',$layer*3,'—',STR_PAD_LEFT).$data['name']);//$data; $this->columnmodel($id,$data['id'],($layer + 1)); } } } ?>